home *** CD-ROM | disk | FTP | other *** search
- CLOSE
- CLEAR ALL VAR
- SET ERROR MESSAGE OFF
- SET MESSAGE OFF
- SET ERROR VARIABLE IMSTAT
- OPEN ANIMAL
- IF IMSTAT NE 0 THEN
- CLOSE
- ERASE ANIMAL?.RBF
- DEFINE ANIMAL
- COLUMNS
- Q# INTEGER KEY
- QUESTION TEXT 60
- ANIMAL TEXT 20
- ANSWER TEXT 1
- QY# INTEGER
- QN# INTEGER
- TABLES
- ANIMAL WITH Q# ANIMAL QUESTION ANSWER QY# QN#
- END
- LOAD ANIMAL
- 1 human "Do you walk on two legs?" Y -0- -0-
- END
- ENDIF
- SET VAR VQ# TO 1
- SET VAR VANSWER TEXT
- SET VAR PLAY TEXT
- SET VAR PLAY TO Y
- SET VAR VNEXTQ# INTEGER
- WHILE PLAY EQ Y THEN
- CLS
- WRITE "Think of an animal and I will try to guess what it is."
- WHILE VQ# EXISTS THEN
- SET VAR VQ TO QUESTION IN ANIMAL WHERE Q# EQ .VQ#
- SET VAR QANSWER TO ANSWER IN ANIMAL WHERE Q# EQ .VQ#
- SET VAR VQY# TO QY# IN ANIMAL WHERE Q# EQ .VQ#
- SET VAR VQN# TO QN# IN ANIMAL WHERE Q# EQ .VQ#
- FILLIN VANSWER USING .VQ
- IF (SGET(.VANSWER,1,1)) EQ .QANSWER THEN
- SET VAR VANIMAL TO ANIMAL IN ANIMAL WHERE Q# EQ .VQ#
- SET VAR X TO (SGET(.VANIMAL,1,1))
- IF (SLOC("AEIOU",.X)) NE 0 THEN
- SET VAR ADJ = "an"
- ELSE
- SET VAR ADJ = "a"
- ENDIF
- SET VAR X TO ("Are you" & .adj & .VANIMAL + "?")
- SET VAR TWEEK TO QY#
- FILLIN VANSWER USING .X
- IF (SGET(.VANSWER,1,1)) EQ Y THEN
- WRITE "That's one for me."
- GOTO AGAIN
- ENDIF
- SET VAR VNEXTQ# TO .VQY#
- SET VAR TWEEK TO QY#
- ELSE
- SET VAR VNEXTQ# TO .VQN#
- SET VAR TWEEK TO QN#
- ENDIF
- IF VNEXTQ# FAILS THEN
- FILLIN VANIMAL USING "I give up. What animal are you? "
- SET VAR VANIMAL = (ULC(.VANIMAL))
- SET VAR X TO (SGET(.VANIMAL,1,1))
- IF (SLOC("AEIOU",.X)) NE 0 THEN
- SET VAR ADJ = "an"
- ELSE
- SET VAR ADJ = "a"
- ENDIF
- SET VAR X TO ("What question would I ask to know that you are" +
- & .ADJ & .VANIMAL & "?")
- WRITE .X
- COMPUTE VQ#A AS ROWS FROM ANIMAL
- SET VAR VQ#A = (.VQ#A + 1)
- FILLIN VQ USING "(Your question):"
- SET VAR VQ = (ICAP1(.VQ))
- SET VAR LOC = (SLOC(.VQ,?))
- IF LOC EQ 0 THEN
- SET VAR VQ = (.VQ + "?")
- ENDIF
- SET VAR X TO ("For" & .ADJ & .VANIMAL +
- + ", what is the answer to that question? ")
- FILLIN VANSWER USING .X
- SET VAR VANSWER = (SGET(.VANSWER,1,1))
- CHANGE .TWEEK TO .VQ#A IN ANIMAL WHERE Q# EQ .VQ#
- LOAD ANIMAL
- .VQ#A .VANIMAL .VQ .VANSWER -0- -0-
- END
- WRITE "Thanks for the new animal..."
- ENDIF
- SET VAR VQ# TO .VNEXTQ#
- ENDWHILE
- LABEL AGAIN
- FILLIN VANSWER USING "Do you want to play again? "
- IF (SGET(.VANSWER,1,1)) EQ N THEN
- WRITE "Thanks for playing..."
- SET VAR PLAY TO N
- SET MESSAGE ON
- SET VAR VQ# TO -0-
- ELSE
- SET VAR PLAY TO Y
- SET VAR VQ# TO 1
- ENDIF
- ENDWHILE
- CLEAR ALL VAR
- CLOSE
- SET ERROR MESSAGE ON
- SET MESSAGE ON
- INPUT KEYBOARD